Bug 340141 – Update to Pango 1.16 API
authorBehdad Esfahbod <behdad@gnome.org>
Sun, 24 Dec 2006 05:29:25 +0000 (05:29 +0000)
committerBehdad Esfahbod <behdad@src.gnome.org>
Sun, 24 Dec 2006 05:29:25 +0000 (05:29 +0000)
2006-12-24  Behdad Esfahbod  <behdad@gnome.org>

        Bug 340141 – Update to Pango 1.16 API

        * gdk/gdkpango.c (layout_iter_get_line_clip_region),
        (gdk_pango_layout_line_get_clip_region):
        * gtk/gtkcalendar.c (gtk_calendar_size_request):
        * gtk/gtkentry.c (gtk_entry_get_pixel_ranges),
        (get_layout_position), (gtk_entry_find_position),
        (gtk_entry_adjust_scroll):
        * gtk/gtkiconview.c (get_pango_text_offsets):
        * gtk/gtklabel.c (get_cursor_direction):
        * gtk/gtkstyle.c (get_insensitive_layout):
        * gtk/gtktextdisplay.c (render_para):
        * gtk/gtktextlayout.c (allocate_child_widgets),
        (find_display_line_below), (find_display_line_above),
        (gtk_text_layout_move_iter_to_previous_line),
        (gtk_text_layout_move_iter_to_next_line),
        (gtk_text_layout_move_iter_to_line_end),
        (gtk_text_layout_iter_starts_line),
        (gtk_text_layout_move_iter_to_x):
        * gtk/gtktextutil.c (limit_layout_lines):
        Use the _readonly version of pango_layout_iter_get_line(),
        pango_layout_iter_get_run(), pango_layout_get_line(), and
        pango_layout_get_lines().

        * gtk/gtkmain.c (gtk_get_default_language): Use
        pango_get_default_language().

ChangeLog
gdk/gdkpango.c
gtk/gtkcalendar.c
gtk/gtkentry.c
gtk/gtkiconview.c
gtk/gtklabel.c
gtk/gtkmain.c
gtk/gtkstyle.c
gtk/gtktextdisplay.c
gtk/gtktextlayout.c
gtk/gtktextutil.c

index 5be897ebd22abc3706e34a31838bb88737c4d88a..2078b6cc6251ad700e51e5f61d59b3415651b816 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,32 @@
+2006-12-24  Behdad Esfahbod  <behdad@gnome.org>
+
+       Bug 340141 – Update to Pango 1.16 API
+
+       * gdk/gdkpango.c (layout_iter_get_line_clip_region),
+       (gdk_pango_layout_line_get_clip_region):
+       * gtk/gtkcalendar.c (gtk_calendar_size_request):
+       * gtk/gtkentry.c (gtk_entry_get_pixel_ranges),
+       (get_layout_position), (gtk_entry_find_position),
+       (gtk_entry_adjust_scroll):
+       * gtk/gtkiconview.c (get_pango_text_offsets):
+       * gtk/gtklabel.c (get_cursor_direction):
+       * gtk/gtkstyle.c (get_insensitive_layout):
+       * gtk/gtktextdisplay.c (render_para):
+       * gtk/gtktextlayout.c (allocate_child_widgets),
+       (find_display_line_below), (find_display_line_above),
+       (gtk_text_layout_move_iter_to_previous_line),
+       (gtk_text_layout_move_iter_to_next_line),
+       (gtk_text_layout_move_iter_to_line_end),
+       (gtk_text_layout_iter_starts_line),
+       (gtk_text_layout_move_iter_to_x):
+       * gtk/gtktextutil.c (limit_layout_lines):
+       Use the _readonly version of pango_layout_iter_get_line(),
+       pango_layout_iter_get_run(), pango_layout_get_line(), and
+       pango_layout_get_lines().
+
+       * gtk/gtkmain.c (gtk_get_default_language): Use
+       pango_get_default_language().
+
 2006-12-24  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtkentry.c (gtk_entry_set_text): Emit changed
index b282dfb5ad5e66cb2fcf270503c29e7789f3dc6e..d04aa9963e48c32368b432ae39a96f61a0846f22 100644 (file)
@@ -1246,7 +1246,7 @@ layout_iter_get_line_clip_region (PangoLayoutIter *iter,
   gint baseline;
   gint i;
 
-  line = pango_layout_iter_get_line (iter);
+  line = pango_layout_iter_get_line_readonly (iter);
 
   clip_region = gdk_region_new ();
 
@@ -1330,7 +1330,7 @@ gdk_pango_layout_line_get_clip_region (PangoLayoutLine *line,
   g_return_val_if_fail (index_ranges != NULL, NULL);
   
   iter = pango_layout_get_iter (line->layout);
-  while (pango_layout_iter_get_line (iter) != line)
+  while (pango_layout_iter_get_line_readonly (iter) != line)
     pango_layout_iter_next_line (iter);
   
   clip_region = layout_iter_get_line_clip_region(iter, x_origin, y_origin, index_ranges, n_ranges);
index 5e9f6cada83959c48dcac6073820172925580058..91014f081c18068765eb00a69777bda591e5019b 100644 (file)
@@ -1643,7 +1643,7 @@ gtk_calendar_size_request (GtkWidget        *widget,
     for (i = 0; i < 7; i++)
       {
        pango_layout_set_text (layout, default_abbreviated_dayname[i], -1);
-       pango_layout_line_get_pixel_extents (pango_layout_get_lines (layout)->data, NULL, &logical_rect);
+       pango_layout_line_get_pixel_extents (pango_layout_get_lines_readonly (layout)->data, NULL, &logical_rect);
 
        priv->min_day_width = MAX (priv->min_day_width, logical_rect.width);
        priv->max_label_char_ascent = MAX (priv->max_label_char_ascent,
index b81d3e335db3e3cd8a89050883c937d713e2aaef..30d388e3896b46d1a246195b934f4adbde0877bc 100644 (file)
@@ -1568,7 +1568,7 @@ gtk_entry_get_pixel_ranges (GtkEntry  *entry,
   if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_char, &end_char))
     {
       PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE);
-      PangoLayoutLine *line = pango_layout_get_lines (layout)->data;
+      PangoLayoutLine *line = pango_layout_get_lines_readonly (layout)->data;
       const char *text = pango_layout_get_text (layout);
       gint start_index = g_utf8_offset_to_pointer (text, start_char) - text;
       gint end_index = g_utf8_offset_to_pointer (text, end_char) - text;
@@ -3394,7 +3394,7 @@ get_layout_position (GtkEntry *entry,
 
   area_height = PANGO_SCALE * (area_height - inner_border.top - inner_border.bottom);
 
-  line = pango_layout_get_lines (layout)->data;
+  line = pango_layout_get_lines_readonly (layout)->data;
   pango_layout_line_get_extents (line, NULL, &logical_rect);
   
   /* Align primarily for locale's ascent/descent */
@@ -3616,7 +3616,7 @@ gtk_entry_find_position (GtkEntry *entry,
   text = pango_layout_get_text (layout);
   cursor_index = g_utf8_offset_to_pointer (text, entry->current_pos) - text;
   
-  line = pango_layout_get_lines (layout)->data;
+  line = pango_layout_get_lines_readonly (layout)->data;
   pango_layout_line_x_to_index (line, x * PANGO_SCALE, &index, &trailing);
 
   if (index >= cursor_index && entry->preedit_length)
@@ -3712,7 +3712,7 @@ gtk_entry_adjust_scroll (GtkEntry *entry)
     text_area_width = 0;
 
   layout = gtk_entry_ensure_layout (entry, TRUE);
-  line = pango_layout_get_lines (layout)->data;
+  line = pango_layout_get_lines_readonly (layout)->data;
 
   pango_layout_line_get_extents (line, NULL, &logical_rect);
 
index 45280f63c4e38ec2d13dacb0f77072094e71432e..4b028fc4e09ea41e5eede70b0e7fb8a0bf6e6ceb 100644 (file)
@@ -7216,7 +7216,7 @@ get_pango_text_offsets (PangoLayout     *layout,
   iter = pango_layout_get_iter (layout);
   do
     {
-      line = pango_layout_iter_get_line (iter);
+      line = pango_layout_iter_get_line_readonly (iter);
       start_index = line->start_index;
       end_index = start_index + line->length;
 
@@ -7257,7 +7257,7 @@ get_pango_text_offsets (PangoLayout     *layout,
                 {
                 case ATK_TEXT_BOUNDARY_LINE_START:
                   if (pango_layout_iter_next_line (iter))
-                    end_index = pango_layout_iter_get_line (iter)->start_index;
+                    end_index = pango_layout_iter_get_line_readonly (iter)->start_index;
                   break;
                 case ATK_TEXT_BOUNDARY_LINE_END:
                   if (prev_line)
@@ -7274,13 +7274,13 @@ get_pango_text_offsets (PangoLayout     *layout,
                 */
               if (pango_layout_iter_next_line (iter))
                 {
-                  line = pango_layout_iter_get_line (iter);
+                  line = pango_layout_iter_get_line_readonly (iter);
                   switch (boundary_type)
                     {
                     case ATK_TEXT_BOUNDARY_LINE_START:
                       start_index = line->start_index;
                       if (pango_layout_iter_next_line (iter))
-                        end_index = pango_layout_iter_get_line (iter)->start_index;
+                        end_index = pango_layout_iter_get_line_readonly (iter)->start_index;
                       else
                         end_index = start_index + line->length;
                       break;
index cfe21cef713f0b590e6ed076b084185fd6742514..af75a9dff03522938c2689f4cacc0bed891c6b68 100644 (file)
@@ -2327,7 +2327,7 @@ get_cursor_direction (GtkLabel *label)
 
   gtk_label_ensure_layout (label);
 
-  for (l = pango_layout_get_lines (label->layout); l; l = l->next)
+  for (l = pango_layout_get_lines_readonly (label->layout); l; l = l->next)
     {
       PangoLayoutLine *line = l->data;
 
index cddc1e3fdec037049d7bd1d49e130aa4aa2e102a..cbf393bf40587883d72782e9f293866c2af7fd86 100644 (file)
@@ -1089,8 +1089,10 @@ _gtk_get_lc_ctype (void)
  * effect. (Note that this can change over the life of an
  * application.)  The default language is derived from the current
  * locale. It determines, for example, whether GTK+ uses the
- * right-to-left or left-to-right text direction. See
- * _gtk_get_lc_ctype() for notes on behaviour on Windows.
+ * right-to-left or left-to-right text direction.
+ *
+ * This function is equivalent to pango_language_get_default().  See
+ * that function for details.
  * 
  * Return value: the default language as a #PangoLanguage, must not be
  * freed
@@ -1098,22 +1100,7 @@ _gtk_get_lc_ctype (void)
 PangoLanguage *
 gtk_get_default_language (void)
 {
-  gchar *lang;
-  PangoLanguage *result;
-  gchar *p;
-  
-  lang = _gtk_get_lc_ctype ();
-  p = strchr (lang, '.');
-  if (p)
-    *p = '\0';
-  p = strchr (lang, '@');
-  if (p)
-    *p = '\0';
-
-  result = pango_language_from_string (lang);
-  g_free (lang);
-  
-  return result;
+  return pango_language_get_default ();
 }
 
 void
index ed177917b5c176b67cdd837658f3536b295d7255..e10f743bd332c32e14c2282f1dc8f70056d3578c 100644 (file)
@@ -4938,7 +4938,7 @@ get_insensitive_layout (GdkDrawable *drawable,
       gboolean need_stipple = FALSE;
       ByteRange *br;
       
-      run = pango_layout_iter_get_run (iter);
+      run = pango_layout_iter_get_run_readonly (iter);
 
       if (run)
         {
index 1a25f64a2b492a960f534493917d1492c4f566f0..d782efdc5c012dfc9cc88209279615e6ab29635e 100644 (file)
@@ -481,7 +481,7 @@ render_para (GtkTextRenderer    *text_renderer,
 
   do
     {
-      PangoLayoutLine *line = pango_layout_iter_get_line (iter);
+      PangoLayoutLine *line = pango_layout_iter_get_line_readonly (iter);
       int selection_y, selection_height;
       int first_y, last_y;
       PangoRectangle line_rect;
index 5f62e70304b58003604ae9395173506891db0507..37696fa4988329a15e44b6349e76034670156924 100644 (file)
@@ -1651,7 +1651,7 @@ allocate_child_widgets (GtkTextLayout      *text_layout,
   
   do
     {
-      PangoLayoutRun *run = pango_layout_iter_get_run (iter);
+      PangoLayoutRun *run = pango_layout_iter_get_run_readonly (iter);
 
       if (run && is_shape (run))
         {
@@ -2565,7 +2565,7 @@ find_display_line_below (GtkTextLayout *layout,
       do
         {
           gint first_y, last_y;
-          PangoLayoutLine *layout_line = pango_layout_iter_get_line (layout_iter);
+          PangoLayoutLine *layout_line = pango_layout_iter_get_line_readonly (layout_iter);
 
           found_byte = layout_line->start_index;
           
@@ -2636,7 +2636,7 @@ find_display_line_above (GtkTextLayout *layout,
       do
         {
           gint first_y, last_y;
-          PangoLayoutLine *layout_line = pango_layout_iter_get_line (layout_iter);
+          PangoLayoutLine *layout_line = pango_layout_iter_get_line_readonly (layout_iter);
 
           found_byte = layout_line->start_index;
 
@@ -2767,7 +2767,7 @@ gtk_text_layout_move_iter_to_previous_line (GtkTextLayout *layout,
       update_byte = TRUE;
     }
   
-  tmp_list = pango_layout_get_lines (display->layout);
+  tmp_list = pango_layout_get_lines_readonly (display->layout);
   layout_line = tmp_list->data;
 
   if (update_byte)
@@ -2793,7 +2793,7 @@ gtk_text_layout_move_iter_to_previous_line (GtkTextLayout *layout,
 
           if (display->height > 0)
             {
-              tmp_list = g_slist_last (pango_layout_get_lines (display->layout));
+              tmp_list = g_slist_last (pango_layout_get_lines_readonly (display->layout));
               layout_line = tmp_list->data;
 
               line_display_index_to_iter (layout, display, iter,
@@ -2879,7 +2879,7 @@ gtk_text_layout_move_iter_to_next_line (GtkTextLayout *layout,
       else
        line_byte = 0;
        
-      tmp_list = pango_layout_get_lines (display->layout);
+      tmp_list = pango_layout_get_lines_readonly (display->layout);
       while (tmp_list && !found_after)
         {
           PangoLayoutLine *layout_line = tmp_list->data;
@@ -2939,7 +2939,7 @@ gtk_text_layout_move_iter_to_line_end (GtkTextLayout *layout,
   display = gtk_text_layout_get_line_display (layout, line, FALSE);
   line_byte = line_display_iter_to_index (layout, display, iter);
 
-  tmp_list = pango_layout_get_lines (display->layout);
+  tmp_list = pango_layout_get_lines_readonly (display->layout);
   while (tmp_list)
     {
       PangoLayoutLine *layout_line = tmp_list->data;
@@ -2995,7 +2995,7 @@ gtk_text_layout_iter_starts_line (GtkTextLayout       *layout,
   display = gtk_text_layout_get_line_display (layout, line, FALSE);
   line_byte = line_display_iter_to_index (layout, display, iter);
 
-  tmp_list = pango_layout_get_lines (display->layout);
+  tmp_list = pango_layout_get_lines_readonly (display->layout);
   while (tmp_list)
     {
       PangoLayoutLine *layout_line = tmp_list->data;
@@ -3064,7 +3064,7 @@ gtk_text_layout_move_iter_to_x (GtkTextLayout *layout,
 
   do
     {
-      PangoLayoutLine *layout_line = pango_layout_iter_get_line (layout_iter);
+      PangoLayoutLine *layout_line = pango_layout_iter_get_line_readonly (layout_iter);
 
       if (line_byte < layout_line->start_index + layout_line->length ||
           pango_layout_iter_at_last_line (layout_iter))
index 11758778d70f034c0f8184b075a15fdf504245ee..1f7b93128b475062848a7baff417198978b54182 100644 (file)
@@ -157,7 +157,7 @@ limit_layout_lines (PangoLayout *layout)
     {
       text  = pango_layout_get_text (layout);
       str   = g_string_new (NULL);
-      lines = pango_layout_get_lines (layout);
+      lines = pango_layout_get_lines_readonly (layout);
 
       /* get first lines */
       elem = lines;